package pe.edu.upc.dsd.qwerty.wsreserva.model;

import static javax.persistence.GenerationType.IDENTITY;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.xml.bind.annotation.XmlRootElement;

@Entity
@Table(name = "vuelo")
@XmlRootElement(name = "vuelo")
public class Vuelo implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 8682389605342285707L;
	private Integer idVuelo;
	private String codigoVuelo;
	private String aerolinea;	
	private String ciudadOrigen;
	private String ciudadDestino;
	private Date fechaSalida;
	private Date fechaLlegada;	
	private Integer estadoVuelo;	

	public Vuelo() {
		
	}

	public Vuelo(String aerolinea, String codigovuelo, Date salida, Date llegada, String ciudadOrigen, String ciudadDestino,Integer estadoVuelo) {
		this.aerolinea = aerolinea;
		this.codigoVuelo = codigovuelo;
		this.fechaSalida = salida;
		this.fechaLlegada = llegada;
		this.ciudadOrigen = ciudadOrigen;
		this.ciudadDestino=ciudadDestino;
		this.estadoVuelo=estadoVuelo;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "idvuelo", unique = true, nullable = false)
	public Integer getIdVuelo() {
		return this.idVuelo;
	}

	public void setIdVuelo(Integer idvuelo) {
		this.idVuelo = idvuelo;
	}

	@Column(name = "aerolinea", length = 50)
	public String getAerolinea() {
		return this.aerolinea;
	}

	public void setAerolinea(String aerolinea) {
		this.aerolinea = aerolinea;
	}

	@Column(name = "codigovuelo", length = 15)
	public String getCodigoVuelo() {
		return this.codigoVuelo;
	}

	public void setCodigoVuelo(String codigovuelo) {
		this.codigoVuelo = codigovuelo;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fechasalida", length = 19)
	public Date getFechaSalida() {
		return this.fechaSalida;
	}

	public void setFechaSalida(Date salida) {
		this.fechaSalida = salida;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fechallegada", length = 19)
	public Date getFechaLlegada() {
		return this.fechaLlegada;
	}

	public void setFechaLlegada(Date llegada) {
		this.fechaLlegada = llegada;
	}

	@Column(name = "ciudadorigen", length = 20)
	public String getCiudadOrigen() {
		return this.ciudadOrigen;
	}
		
	public void setCiudadOrigen(String ciudad) {
		this.ciudadOrigen = ciudad;
	}

	@Column(name = "ciudaddestino", length = 20)
	public String getCiudadDestino() {
		return ciudadDestino;
	}

	public void setCiudadDestino(String ciudadDestino) {
		this.ciudadDestino = ciudadDestino;
	}
	
	@Column(name = "estadovuelo")
	public Integer getEstadoVuelo() {
		return estadoVuelo;
	}

	public void setEstadoVuelo(Integer estadoVuelo) {
		this.estadoVuelo = estadoVuelo;
	}



}
